package com.serverTechnology.resource.entity;

import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;


import java.time.LocalDateTime;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.EqualsAndHashCode;
import lombok.Data;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * 配置参数表
 *
 * @author 王烁
 * @since 2024-07-28
 */
@TableName("TE_DISPOSITION")
@Data
@EqualsAndHashCode
public class DispositionEntity extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @ApiModelProperty("唯一标识")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 资源类型ID
     */
    @ApiModelProperty("资源类型ID")
    @TableField("DEVICE_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long deviceId;

    /**
     * 编号
     */
    @ApiModelProperty("编号")
    @TableField("DISPOSITION_NUMBER")
    @JsonSerialize(using= ToStringSerializer.class)
    private String dispositionNumber;

    /**
     * 参数名
     */
    @ApiModelProperty("参数名")
    @TableField("DISPOSITION_NAME")
    private String dispositionName;

    /**
     * 所属父节点	参数
     */
    @ApiModelProperty("所属父节点 参数")
    @TableField("FID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long fid;

    /**
     * 参数类型
     */
    @ApiModelProperty("参数类型")
    @TableField("DISPOSITION_PARAMETER_TYPE")
    private String dispositionParameterType;

    /**
     * 工艺参数项	工艺参数项	
     */
    @ApiModelProperty("工艺参数项 工艺参数项")
    @TableField("DISPOSITION_PARAMETER")
    @JsonSerialize(using= ToStringSerializer.class)
    private String dispositionParameter;

    /**
     * 类型
     */
    @ApiModelProperty("类型")
    @TableField("DISPOSITION_TYPE")
    private String dispositionType;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty("数据结构")
    @TableField(exist = false)
    private List<DispositionEntity> children;
}
